package com.coder.util;

import java.util.ArrayList;

/**
 * Collection 生成器
 * 是适配器模式的一个实例，它将 Generator 适配到 Collection 的构造器上。
 *
 * @author yuhushuan
 * @date 2020/8/13 22:01
 */
public class CollectionData<T> extends ArrayList<T> {
    public CollectionData(Generator<T> gen, int quantity) {
        for (int i = 0; i < quantity; i++) {
            add(i, gen.next());
        }
    }

    @SuppressWarnings("unchecked")
    public static <T> CollectionData list(Generator<T> gen, int quantity) {
        return new CollectionData(gen, quantity);
    }
}
